<template>
  <a-card :bordered="false">
    <!-- 查询区域 -->
    <Top ref="top"></Top>
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col :md="6" :sm="8">
            <a-form-item label="审计单位">
              <j-select-depart
                v-model="queryParam.remid"
                :trigger-change="true"
                customReturnField="id"
                :multi="false"
              ></j-select-depart>
            </a-form-item>
          </a-col>
          <a-col :md="6" :sm="8">
            <a-form-item label="被审计单位">
              <j-select-depart
                v-model="queryParam.unitUnderAudit"
                :trigger-change="true"
                customReturnField="id"
                :multi="false"
              ></j-select-depart>
            </a-form-item>
          </a-col>

          <a-col :md="6" :sm="8">
            <a-form-item label="计划年度">
              <!--              <j-date v-model='queryParam.planYear' style='width:100%'></j-date>-->
              <a-date-picker
                mode="year"
                placeholder="请选择年份"
                format="YYYY"
                value-format="yyyy-MM-dd"
                v-model="queryParam.planYear"
                :open="yearPickShow"
                style="width: 100%"
                @panelChange="handlePanelChange"
                @openChange="handleOpenChange"
              />
            </a-form-item>
          </a-col>
          <template v-if="toggleSearchStatus">
            <a-col :md="6" :sm="8">
              <a-form-item label="计划状态">
                <j-dict-select-tag
                  style="width: 100%"
                  v-model="queryParam.status"
                  placeholder="请选择"
                  dict-code="sj_plan_status"
                />
              </a-form-item>
            </a-col>
            <a-col :md="6" :sm="8">
              <a-form-item label="计划编号">
                <a-input placeholder="请输入" v-model="queryParam.number"></a-input>
              </a-form-item>
            </a-col>
            <a-col :md="6" :sm="8">
              <a-form-item label="计划名称">
                <a-input placeholder="请输入" v-model="queryParam.name"></a-input>
              </a-form-item>
            </a-col>
          </template>
          <a-col :md="6" :sm="8">
            <span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">清除条件</a-button>
              <a @click="handleToggleSearch" style="margin-left: 8px">
                {{ toggleSearchStatus ? '收起' : '展开' }}
                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
              </a>
            </span>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!-- table区域-begin -->
    <div>
      <a-table
        ref="table"
        size="middle"
        bordered
        rowKey="id"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        @change="handleTableChange"
      >
        <span slot="action" slot-scope="text, record">
          <a @click="handleApprove(record, '临时审计计划审批')">审批</a>
        </span>
      </a-table>
    </div>
    <!-- table区域-end -->

    <CheckAndEditModel ref="modalForm" @ok="updateProList"></CheckAndEditModel>
  </a-card>
</template>

<script>
  import {JeecgListMixin} from '@/mixins/JeecgListMixin'
  import Top from '../../components/Top'
  import CheckAndEditModel from './CheckAndEditModel'
  import columns from './indexColumns'
  import moment from 'moment'
  import 'moment/locale/zh-cn'
  import {httpAction, getAction} from '@/api/manage'
  import { currentY } from '@/mixins/commontime'

  export default {
    name: '临时审计计划审批',
    mixins: [JeecgListMixin],
    components: {
      Top,
      CheckAndEditModel,
    },
    data() {
      return {
        queryParam: {
          planYear: currentY(),
        },
        superParam: {
          type: '2',
        },
        // 表头
        columns: columns(this),
        url: {
          list: '/sjzyzhgl/sjPlanInfo/auditPlanInfoList',
          top: '/sjzyzhgl/sjPlanInfo/auditPlanProjectNum',
        },
        yearPickShow: false,
      }
    },
    created() {
      this.getTop()
    },
    watch: {
      $route: {
        handler: function (to) {
          if (to.query.number) {
            this.disableMixinCreated = true
            this.queryParam.number = to.query.number
            this.searchQuery()
          }
        },
        immediate: true
      }
    },
    computed: {},
    methods: {
      // 弹出日历和关闭日历的回调
      handleOpenChange(status) {
        this.yearPickShow = status
        if(this.queryParam.planYear){
          this.queryParam.planYear = moment(this.queryParam.planYear.slice(0, 4)).format('YYYY')
        }
      },
      moment,
      // 得到年份选择器的值
      handlePanelChange(value) {
        this.yearPickShow = false
        this.queryParam.planYear = moment(value).format('YYYY')
      },
      getTop() {
        getAction(this.url.top, Object.assign({}, this.superParam, this.queryParam))
          .then((res) => {
            if (res.success) {
              this.$refs.top.l1 = res.result[0].currYearCount
              this.$refs.top.l2 = res.result[0].changePlanCount
              this.$refs.top.l3 = res.result[0].sumCount

              this.$refs.top.r1 = res.result[0].allCount
              this.$refs.top.r2 = res.result[0].complateRate
              this.$refs.top.r3 = res.result[0].toPerform
              this.$refs.top.r4 = res.result[0].isPerform
              this.$refs.top.r5 = res.result[0].completes
            }else{
              this.$message.error(res.message)
            }
          })
          .finally(() => {
          })
      },
      handleApprove: function (record, name) {
        this.$refs.modalForm.approve(record)
        this.$refs.modalForm.title = name
        this.$refs.modalForm.isCheck = false
        this.$refs.modalForm.disableSubmit = true
      },
      updateProList() {
        this.loadData()
      },
    },
  }
</script>
<style scoped>
  @import '~@assets/less/common.less';
</style>